package com.sitia.jd.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.sitia.common.annotation.Excel;
import com.sitia.jd.domain.dto.CommonDto;
import com.sitia.jd.domain.dto.productDto;
import lombok.Data;
import lombok.experimental.Accessors;

import javax.validation.Valid;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 第三方商品对象 mx_products_third
 * 
 * @author sitia
 * @date 2024-06-30
 */
@Data
@Accessors(chain = true)
public class MxProductsThirdVo
{
    private static final long serialVersionUID = 1L;

    /** id */
    private String id;

    /** 价格 */
    @Excel(name = "价格")
    private BigDecimal price;

    /** 状态（1订单状态，2.正在充值，3.充值成功，4.充值失败） */
    @Excel(name = "状态", readConverterExp = "1=订单状态，2.正在充值，3.充值成功，4.充值失败")
    private String status;

    /** 商品id */
    @Excel(name = "商品id")
    private String productId;

    /** 商品名称 */
    @Excel(name = "商品名称")
    private String productName;

    /** 商品类型，1.直充，2.卡密 */
    @Excel(name = "商品类型，1.直充，2.卡密")
    private String productType;

    /** 商品种类id */
    @Excel(name = "商品种类id")
    private String categoryId;

    /** 商品种类 */
    @Excel(name = "商品种类")
    private String categoryName;

    /** 供应商id */
    @Excel(name = "供应商id")
    private String supplierId;

    /** 供应商名称 */
    @Excel(name = "供应商名称")
    private String supplierName;

    /** 来源（黄蚁） */
    @Excel(name = "来源", readConverterExp = "黄=蚁")
    private String source;

    /** 备用字段1 */
    @Excel(name = "备用字段1")
    private String ext1;

    /** 创建人 */
    @Excel(name = "创建人")
    private String createdBy;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createdTime;

    /** 更新人 */
    @Excel(name = "更新人")
    private String updatedBy;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updatedTime;

    /**
     * 商品
     */
    @Valid
    private productDto product;
    /**
     * 供应商
     */
    private CommonDto user;
}
